home *** CD-ROM | disk | FTP | other *** search
Text File | 2000-10-06 | 6.4 KB | 257 lines | [TEXT/MPS ] |
- ; DO NOT EDIT (OR EVEN READ) THIS FILE!
- ; BlitPixieRLE.a (for Asm), auto-generated from BlitPixieRLE.c
-
- INCLUDE 'AsmGlobal.a'
-
- PROC
-
- EXPORT BlitPixieRLE
- BlitPixieRLE:
- link a6,#0
- move.l a2,-(a7)
- movea.l 8(a6),a0
- movea.l 12(a6),a1
- movea.l a1,a2
- move.l 16(a6),d2
- clr.l d1
- move.l (a0)+,d0
- move.l d0,d1
- rol.l #8,d0
- andi.l #$ffffff,d1
- cmpi.b #2,d0
- bne.s *+76 ; $00000072
- move.w d1,d0
- lsr.w #4,d0
- beq.s *+16 ; $0000003c
- subq.w #1,d0
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- dbra d0,*-8 ; $00000030
- move.w d1,d0
- andi.w #$8,d0
- beq.s *+6 ; $00000048
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.w d1,d0
- andi.w #$4,d0
- beq.s *+4 ; $00000052
- move.l (a0)+,(a1)+
- move.w d1,d0
- andi.w #$2,d0
- beq.s *+4 ; $0000005c
- move.w (a0)+,(a1)+
- move.w d1,d0
- andi.w #$1,d0
- beq.s *+4 ; $00000066
- move.b (a0)+,(a1)+
- move.l a0,d0
- addq.l #3,d0
- andi.w #$fffc,d0
- movea.l d0,a0
- bra.s *-90 ; $00000016
- cmpi.b #3,d0
- bne.s *+6 ; $0000007c
- adda.l d1,a1
- bra.s *-100 ; $00000016
- cmpi.b #4,d0
- bne.s *+70 ; $000000c6
- move.w d1,d0
- lsr.w #4,d0
- beq.s *+16 ; $00000096
- subq.w #1,d0
- move.l (a0),(a1)+
- move.l (a0),(a1)+
- move.l (a0),(a1)+
- move.l (a0),(a1)+
- dbra d0,*-8 ; $0000008a
- move.w d1,d0
- andi.w #$8,d0
- beq.s *+6 ; $000000a2
- move.l (a0),(a1)+
- move.l (a0),(a1)+
- move.w d1,d0
- andi.w #$4,d0
- beq.s *+4 ; $000000ac
- move.l (a0),(a1)+
- move.w d1,d0
- andi.w #$2,d0
- beq.s *+4 ; $000000b6
- move.w (a0),(a1)+
- move.w d1,d0
- andi.w #$1,d0
- beq.s *+4 ; $000000c0
- move.b (a0),(a1)+
- addq.l #4,a0
- bra.w *-172 ; $00000016
- cmpi.b #1,d0
- bne.s *+10 ; $000000d4
- movea.l a2,a1
- adda.l d2,a2
- bra.w *-186 ; $00000016
- cmpi.b #0,d0
- movea.l (a7)+,a2
- unlk a6
- rts
-
- EXPORT BlitPixieRLEClipped
- BlitPixieRLEClipped:
- link a6,#0
- movem.l d3-d6/a2-a3,-(a7)
- movea.l 8(a6),a0
- movea.l 12(a6),a1
- movea.l a1,a2
- move.l 16(a6),d2
- movea.l 20(a6),a3
- moveq #0,d4
- clr.l d1
- clr.l d6
- move.l (a0)+,d0
- move.l d0,d1
- rol.l #8,d0
- andi.l #$ffffff,d1
- cmpi.b #2,d0
- bne.w *+152 ; $000000c8
- move.w d3,d0
- add.w d1,d0
- subq.w #1,d0
- cmp.w 2(a3),d3
- bge.s *+30 ; $0000005c
- cmp.w 2(a3),d0
- bgt.s *+10 ; $0000004e
- adda.l d1,a0
- adda.l d1,a1
- add.w d1,d3
- bra.s *+110 ; $000000ba
- move.w 2(a3),d6
- sub.w d3,d6
- sub.w d6,d1
- adda.l d6,a0
- adda.l d6,a1
- add.w d6,d3
- moveq #0,d6
- cmp.w 6(a3),d0
- blt.s *+18 ; $00000074
- cmp.w 6(a3),d3
- blt.s *+4 ; $0000006c
- bra.s *-36 ; $00000046
- move.w d0,d6
- sub.w 6(a3),d6
- sub.w d6,d1
- move.w d1,d0
- lsr.w #4,d0
- beq.s *+16 ; $00000088
- subq.w #1,d0
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- dbra d0,*-8 ; $0000007c
- move.w d1,d0
- andi.w #$8,d0
- beq.s *+6 ; $00000094
- move.l (a0)+,(a1)+
- move.l (a0)+,(a1)+
- move.w d1,d0
- andi.w #$4,d0
- beq.s *+4 ; $0000009e
- move.l (a0)+,(a1)+
- move.w d1,d0
- andi.w #$2,d0
- beq.s *+4 ; $000000a8
- move.w (a0)+,(a1)+
- move.w d1,d0
- andi.w #$1,d0
- beq.s *+4 ; $000000b2
- move.b (a0)+,(a1)+
- add.w d1,d3
- adda.l d6,a0
- adda.l d6,a1
- add.w d6,d3
- move.l a0,d0
- addq.l #3,d0
- andi.w #$fffc,d0
- movea.l d0,a0
- bra.w *-164 ; $00000020
- cmpi.b #3,d0
- bne.s *+10 ; $000000d6
- adda.l d1,a1
- add.w d1,d3
- bra.w *-178 ; $00000020
- cmpi.b #4,d0
- bne.w *+142 ; $00000168
- move.w d3,d0
- add.w d1,d0
- subq.w #1,d0
- cmp.w 2(a3),d3
- bge.s *+30 ; $00000106
- cmp.w 2(a3),d0
- bgt.s *+12 ; $000000fa
- adda.l d1,a1
- add.w d1,d3
- addq.l #4,a0
- bra.w *-214 ; $00000020
- move.w 2(a3),d6
- sub.w d3,d6
- sub.w d6,d1
- adda.l d6,a1
- add.w d6,d3
- moveq #0,d6
- cmp.w 6(a3),d0
- blt.s *+18 ; $0000011e
- cmp.w 6(a3),d3
- blt.s *+4 ; $00000116
- bra.s *-36 ; $000000f0
- move.w d0,d6
- sub.w 6(a3),d6
- sub.w d6,d1
- move.w d1,d0
- lsr.w #4,d0
- beq.s *+16 ; $00000132
- subq.w #1,d0
- move.l (a0),(a1)+
- move.l (a0),(a1)+
- move.l (a0),(a1)+
- move.l (a0),(a1)+
- dbra d0,*-8 ; $00000126
- move.w d1,d0
- andi.w #$8,d0
- beq.s *+6 ; $0000013e
- move.l (a0),(a1)+
- move.l (a0),(a1)+
- move.w d1,d0
- andi.w #$4,d0
- beq.s *+4 ; $00000148
- move.l (a0),(a1)+
- move.w d1,d0
- andi.w #$2,d0
- beq.s *+4 ; $00000152
- move.w (a0),(a1)+
- move.w d1,d0
- andi.w #$1,d0
- beq.s *+4 ; $0000015c
- move.b (a0),(a1)+
- add.w d1,d3
- adda.l d6,a1
- add.w d6,d3
- addq.l #4,a0
- bra.w *-324 ; $00000020
- cmpi.b #1,d0
- bne.s *+26 ; $00000186
- cmp.w (a3),d4
- bge.s *+4 ; $00000174
- adda.l d1,a0
- cmp.w 4(a3),d4
- bge.s *+18 ; $0000018a
- moveq #0,d3
- addq.w #1,d4
- movea.l a2,a1
- adda.l d2,a2
- bra.w *-354 ; $00000020
- cmpi.b #0,d0
- movem.l (a7)+,d3-d6/a2-a3
- unlk a6
- rts
- END
-